home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 8 / Night Owl CD-ROM (NOPV8) (Night Owl Publisher) (1993).ISO / 047a / lex_yacc.arj / LENGS.L < prev    next >
Text File  |  1989-05-28  |  653b  |  26 lines

  1.  
  2.   { Counts word lengths in a file (normally, input is taken from the
  3.     console; use input redirection to input a file), and prints out
  4.     a histogram of word lengths.
  5.     This is a Turbo Pascal Lex version of a UNIX Lex program, discussed in
  6.     the (SUN) UNIX Lex manual, section 7.8. }
  7.  
  8.   uses LexLib;
  9.   var lengs : array [1..100] of integer;
  10. %%
  11. [a-zA-Z]+    inc(lengs[yyleng]);
  12. .        |
  13. \n        ;
  14. %%
  15. var i : integer;
  16. begin
  17.   for i := 1 to 100 do
  18.     lengs[i] := 0;
  19.   if yylex=0 then
  20.     begin
  21.       writeln('Length    No. words');
  22.       for i := 1 to 100 do
  23.         if lengs[i]>0 then
  24.           writeln(i, '    ', lengs[i]);
  25.     end
  26. end.